package com.hfzy.ihk.web.aliyuncall.vo;

/**
 * 只能外呼ars 返回状态类
 */
public class AliyunAsrResponeVo {
    private String result;

    private String msg;

    private Integer code;

    private Data data;


    public static class Data{

        private String call_id;

        /**
         * 	下一步的动作：play：播放下一段语音;break：打断当前正在播放的语音,continue：继续播放当前语音,hangup：挂机,transfer：转接
         */
        private String action;

        /**
         * 当前动作是否可以打断,默认是true，可打断
         */
        private Boolean action_break=true;

        /**
         * 	返回的媒体文件是否可以打断,默认是true，可打断；action_break和action_code_break，action_code_break优先级更高
         */
        private Boolean action_code_break=true;

        /**
         * 播放的语音文件code,支持多文件播放，多个文件使用,分隔,支持tts参数，使用$
         */
        private String action_code;

        /**
         * 静音时长，单位ms，1000-20000之间，超过这个范围默认10000
         */
        private Integer mute_time=2000;//默认两秒试试 超过这个时间会发一条静音消息，可以用来判断客户是否已经讲完话了

        /**
         * tts参数，json格式，key和action_code对应
         */
        private String action_code_param ;

        /**
         * 转接手机号码，action设为transfer时有效
         */
        private String   number;

        public void setAction_break(Boolean action_break) {
            this.action_break = action_break;
        }

        public void setAction_code_break(Boolean action_code_break) {
            this.action_code_break = action_code_break;
        }

        public void setMute_time(Integer mute_time) {
            this.mute_time = mute_time;
        }

        public void setAction_code_param(String action_code_param) {
            this.action_code_param = action_code_param;
        }

        public void setNumber(String number) {
            this.number = number;
        }

        /**
         * 预留给调用方使用的动态扩展id,在下次回调地址中带回，用于客户的开发标识需要
         */
        private String dynamic_id;

        public String getCall_id() {
            return call_id;
        }

        public void setCall_id(String call_id) {
            this.call_id = call_id;
        }

        public String getAction() {
            return action;
        }

        public void setAction(String action) {
            this.action = action;
        }

        public String getAction_code() {
            return action_code;
        }

        public void setAction_code(String action_code) {
            this.action_code = action_code;
        }

        public String getDynamic_id() {
            return dynamic_id;
        }

        public void setDynamic_id(String dynamic_id) {
            this.dynamic_id = dynamic_id;
        }

        public Boolean getAction_break() {
            return action_break;
        }

        public Boolean getAction_code_break() {
            return action_code_break;
        }

        public Integer getMute_time() {
            return mute_time;
        }

        public String getAction_code_param() {
            return action_code_param;
        }

        public String getNumber() {
            return number;
        }
    }


    public String getResult() {
        return result;
    }

    public void setResult(String result) {
        this.result = result;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public Data getData() {
        return data;
    }

    public void setData(Data data) {
        this.data = data;
    }

    public static AliyunAsrResponeVo getTestMsg(){
        AliyunAsrResponeVo aliyunAsrResponeVo = new AliyunAsrResponeVo();
        aliyunAsrResponeVo.setResult("success");
        aliyunAsrResponeVo.setMsg("成功");
        aliyunAsrResponeVo.setCode(200);
        AliyunAsrResponeVo.Data data = new AliyunAsrResponeVo.Data();
        data.setCall_id("100001616500^100001871490");
        data.setAction("play");
        data.setAction_code("411111");
        aliyunAsrResponeVo.setData(data);
        return aliyunAsrResponeVo;

    }
}
